#ifndef TEXTURES_H
#define TEXTURES_H

#include <sstream>

namespace Textures {
	static const int BRICKS_COUNT = 3;

	enum TEXTURE {
		TEXTURE_NONE = -1,
		TEXTURE_GROUND = 0,
		TEXTURE_BRICK,
		TEXTURE_CANNON_BALL = TEXTURE_BRICK + BRICKS_COUNT,
		TEXTURE_BARRIER_TAPE,
		TEXTURE_FLAG,
		TEXTURE_WOODEN_POLE,
		TEXTURE_WOODEN_FRAME,
		TEXTURE_GRASS,
		TEXTURE_BUTTON,
		TEXTURE_NAME_PANEL,
		TEXTURE_BOTTOM_PANEL,
		TEXTURE_FLAG_PANEL,
        TEXTURE_BUTTON_FREE_CAM,
        TEXTURE_BUTTON_FIXED_CAM,

		TEXTURES_COUNT
	};

	static std::string folder = "res/textures/";
	static std::string extension = ".png";
	static std::string path[TEXTURES_COUNT];

	static void Init() {
		path[TEXTURE_GROUND] = folder + "ground" + extension;
		for(int i=0; i<BRICKS_COUNT; ++i) {
			std::stringstream ss;
			ss << (i+1);
			path[TEXTURE_BRICK+i] = folder + "brick" + ss.str() + extension;
		}
		path[TEXTURE_CANNON_BALL] = folder + "cannonball" + extension;
		path[TEXTURE_BARRIER_TAPE] = folder + "strips" + extension;
		path[TEXTURE_FLAG] = folder + "bw" + extension;
		path[TEXTURE_WOODEN_POLE] = folder + "wooden_pole" + extension;
		path[TEXTURE_WOODEN_FRAME] = folder + "wooden_frame_2" + extension;
		path[TEXTURE_GRASS] = folder + "grass" + extension;
		path[TEXTURE_BUTTON] = folder + "hud/button" + extension;
		path[TEXTURE_NAME_PANEL] = folder + "hud/namePanel" + extension;
		path[TEXTURE_BOTTOM_PANEL] = folder + "hud/bottomPanel" + extension;
		path[TEXTURE_FLAG_PANEL] = folder + "hud/flagPanel" + extension;
        path[TEXTURE_BUTTON_FREE_CAM] = folder + "hud/freecam" + extension;
        path[TEXTURE_BUTTON_FIXED_CAM] = folder + "hud/fixedcam" + extension;
	}
}

#endif //TEXTURES_H
